<template>
	<view>
		<view>发送请求与数据缓存的学习</view>
		<button @click="getRequest">发送get请求</button>

		<view>========================</view>
		<button @click="setStorage">将数据存储到本地缓存指定的key中</button>
		<view>---------------------</view>
		<button @click="getStorage">从本地缓存中获取指定key对应的值</button>
		<view>---------------------</view>
		<button @click="removeStorage">从本地缓存中异步移除指定 key</button>
		<view>---------------------</view>
		<button @click="clearStorage">清理本地数据缓存</button>
	</view>
</template>

<script>
export default {
	data() {
		return {};
	},
	methods: {
		getRequest() {
			// 发起网络请求
			uni.request({
				url: 'http://127.0.0.1:8082/api/getlunbo', // 开发者服务器接口地址
				//data: '1', // 请求的参数
				//method: 'GET', // 请求参数[POST,PUT,DELETE,CONNECT,HEAD,OPTIONS,TRACE]，默认GET
				//timeout: '3000', // 超时时间，单位 ms
				//dataType: 'json' // 返回的数据类型
				// 收到开发者服务器成功返回的回调函数
				success(res) {
					console.log(res);
				},
				//接口调用失败的回调函数
				fail(err) {
					console.log(err);
				},
				// 接口调用结束的回调函数（调用成功、失败都会执行）
				complete(data) {
					if (data.statusCode === 200) {
						console.log('调用成功');
					} else {
						console.log('调用失败');
					}
				}
			});
		},
		setStorage() {
			// 将数据存储在本地缓存中指定的key中，会覆盖掉原来该key对应的内容，异步接口
			// uni.setStorage({
			// 	key: 'id', // 本地缓存中的指定的key
			// 	data: 80, // 需要存储的内容，只支持原生类型、及能够通过JSON.stringify序列化的对象
			// 	// 接口调用成功的回调函数
			// 	success() {
			// 		console.log('存储成功');
			// 	},
			// 	//接口调用失败的回调函数
			// 	fail() {
			// 		console.log('存储失败');
			// 	},
			// 	// 接口调用结束的回调函数（调用成功、失败都会执行）
			// 	complete() {}
			// });

			// 将data存储在本地缓存中指定的key中，会覆盖掉原来该key对应的内容，同步接口
			uni.setStorageSync('id', 100);
		},
		getStorage() {
			//从本地缓存中异步获取指定key对应的内容，异步接口
			// uni.getStorage({
			// 	key: 'id',
			// 	// 接口调用的回调函数，res = {data: key对应的内容}
			// 	success(res) {
			// 		console.log('获取成功');
			// 		console.log(res);
			// 	},
			// 	// 接口调用失败的回调函数
			// 	fail() {},
			// 	// 接口调用结束的回调函数（调用成功、失败都会执行）
			// 	complete() {}
			// });

			// 从本地缓存中同步获取指定key对应的内容，同步接口
			const value = uni.getStorageSync('id');
			console.log(value);
		},
		removeStorage() {
			// 从本地缓存中异步移除指定key，异步接口
			// uni.removeStorage({
			// 	key: 'id', // 本地缓存中的指定的key
			// 	// 接口调用的回调函数
			// 	success() {
			// 		console.log('移除成功');
			// 	},
			// 	// 接口调用失败的回调函数
			// 	fail() {},
			// 	// 接口调用结束的回调函数（调用成功、失败都会执行）
			// 	complete() {}
			// });

			// 从本地缓存中异步移除指定key，同步接口
			uni.removeStorageSync('id');
		},
		clearStorage() {
			// 清理本地数据缓存，异步接口
			// uni.clearStorage();

			// 清理本地数据缓存，同步接口
			uni.clearStorageSync();
		}
	}
};
</script>

<style></style>
